/************************************************/
/*    Auteur    : Yoann NICOD                   */
/*    Programme : Atomic Bomberman Origins      */
/*    Fichier   : position.cpp                  */
/*    Date      : 29/12/2012                    */
/************************************************/

#include "position.h"
#include "general.h"

Position::Position()
{
	SetPositionsXY(0, 0);
}

Position::~Position()
{
}

bool Position::SetPositionsXY(float PositionX, float PositionY)
{
	if(PositionX < 0 || PositionX > 1)
		return false;
	else
		m_PositionX = PositionX;

	if(PositionY < 0 || PositionY > 1)
		return false;
	else
		m_PositionY = PositionY;

	return true;
}

bool Position::SetPositionsLigneColonne(int Ligne, int Colonne)
{
	if(Ligne < 1 || Ligne > NOMBRE_LIGNES || Colonne < 1 || Colonne > NOMBRE_COLONNES)
		return false;

	float IntervalleX = (float)(1./NOMBRE_COLONNES);
	float IntervalleY = (float)(1./NOMBRE_COLONNES);

	return SetPositionsXY((float)(((float)Colonne - 0.5)*IntervalleX), (float)(((float)Ligne - 0.5)*IntervalleY));
}

float Position::GetPositionX()
{
	return m_PositionX;
}

float Position::GetPositionY()
{
	return m_PositionY;
}

int Position::GetPositionLigne()
{
	if(m_PositionY == 1)
		return NOMBRE_LIGNES;
	else
		return (int)(NOMBRE_LIGNES*m_PositionY) + 1;
}

int Position::GetPositionColonne()
{
	if(m_PositionX == 1)
		return NOMBRE_COLONNES;
	else
		return (int)(NOMBRE_COLONNES*m_PositionX) + 1;
}